<?php 
namespace slinks\extensions\action\configuration;

interface IActionMapping{
	
	/**
	 * The name for this action mapping.
	 */
	public function getName();
	
	/**
	 * @return string the class name configured for the action.
	 */
	public function getClassName();
	
	/**
	 * @return string the method name configured for the action.
	 */
	public function getMethodName();
	
	/**
	 * @param string $retCode
     * @return the IResultMapping object configured for the action for the result code. 
	 */
	public function getResultMapping($retCode);
	
	/**
	 * @return the interceptor stack to be used or null if the default should be used. 
	 */
	public function getInterceptorStackName();
        
        /**
         * @return \slinks\extensions\action\routing\Route the route for this mapping.
         */
        public function getRoute();
        
        /**
         * @return ResourceInterface get the resource that represents this IActionMapping
         */
        public function getResource();
}